package cn.itcast.java;

public class OperatorDemo03 {
    public static void main(String[] args) {
        //1. 定义两个int类型的变量a和b, 初始化值分别为: 2, 5
        int a = 2, b = 5;
        //2. 演示逻辑与(&)
       /* System.out.println((a++ > 2) & (b++ < 7)); //两个表达式都会执行.
        System.out.println(a);
        System.out.println(b);*/
        System.out.println("------------------");

        //3. 演示短路与(&&) 执行效率高于 单 &
        //短路与，如果 && 两边，左边是false，&&之后的逻辑都不在计算
        //短路或，如果 || 两边，从左边到右边，遇到 true || 之后的逻辑都不在计算
        System.out.println((a++ > 2) && (b++ < 7)); //左边表达式结果为false, 右边不执行.
        System.out.println((a++ > 2) || (b++ < 5) || (a + b) > 7);
        System.out.println(a);
        System.out.println(b);
    }
}